<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    const p1 = createPromise("异步1");
    const p2 = createPromise("异步2");
    const p3 = createPromise("异步3");


    // all规则：所有的小promise实例都成功，才是成功，只要有一个失败，就失败
    // Promise.all([p1, p2, p3]).then(res=>{
    //     console.log(res)
    // }).catch(code=>{
    //     console.log(code);
    // })

    // 所有的小promise只要有一个结束，即结束，不论成功或失败
    Promise.race([p1, p2, p3]).then(res=>{
        console.log(res)
    }).catch(code=>{
        console.log(code);
    })


    function createPromise(url){
        return new Promise((resolve, reject)=>{
            setTimeout(()=>{
                resolve(url + "成功了");
            }, Math.random() * 500)
            setTimeout(()=>{
                reject(url + "失败了");
            }, Math.random() * 1000)
        })
    }
</script>
</html>